home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 1992 August / info-mac-1992.iso / Applications (app) / Image 1.44 / Macros / Video < prev   
Text File  |  1991-06-11  |  3KB  |  119 lines

  1. macro 'Camera Simulator';
  2. var
  3.   left,top,width,height,n,Camera,nFrames:integer;
  4. begin
  5.   GetRoi(left,top,width,height);
  6.   if width=0 then begin
  7.     PutMessage('Please select an area of interest in the Camera window.');
  8.     exit;
  9.   end;
  10.   nFrames:=GetNumber('Number of frames:',4);
  11.   StartCapturing;
  12.   Camera:=nPics;
  13.   n:=0;
  14.   repeat
  15.     if Button then begin
  16.       MakeRoi(left,top,width,height);
  17.       n:=n+1;
  18.       Duplicate('Frame ',n:1);
  19.       SelectPic(Camera);
  20.       StartCapturing;
  21.     end;
  22.   until n=nFrames;
  23.   StopCapturing;
  24.   Dispose;
  25.   SetOption; TileWindows;
  26. end;
  27.  
  28.  
  29. procedure ExtractEvenField(NewWindow:boolean);
  30. {
  31. Replaces odd scan lines with average of neighboring even lines. Can be used to improve the quality of images that have even and odd fields that are out of sync as the result of subject movement during capture.
  32. }
  33. var
  34.   i,width,height,row1,row2:integer;
  35. begin
  36.   SaveState;
  37.   if NewWindow then Duplicate('Even Field');
  38.   GetPicSize(width,height);
  39.   row1:=0; row2:=0;
  40.   for i:=1 to height/2 do begin
  41.     GetRow(0,row1,width);
  42.     PutRow(0,row2,width);
  43.     row1:=row1+2;
  44.     row2:=row2+1;
  45.   end;
  46.   MakeRoi(0,0,width,height/2);
  47.   Copy;
  48.   MakeRoi(0,height/4-1,width,height/2);
  49.   Paste;
  50.   RestoreRoi;
  51.   SetScaling('Bilinear; Same Window');
  52.   ScaleAndRotate(1,2,0);
  53.   RestoreState;
  54. end;
  55.  
  56. macro 'Extract Even Field->New Window';
  57. begin
  58.   ExtractEvenField(true);
  59. end;
  60.  
  61. macro 'Extract Even Field->Same Window';
  62. begin
  63.   ExtractEvenField(false);
  64. end;
  65.  
  66.  
  67. macro 'Make Movie to Disk';
  68. {
  69. Captures a specified number of images at a specified rate and
  70. saves them to disk. Select an area of interest within the Camera
  71. window before starting.
  72. }
  73. var
  74.   nFrames,n,Left,Top,Width,Height:integer;
  75.   Delay:real;
  76. begin
  77.   GetRoi(Left,Top,Width,Height);
  78.   if width=0 then begin
  79.     PutMessage('First select the area of interest in the Camera window.');
  80.     exit;
  81.   end;
  82.   nFrames:=GetNumber('Number of Frames?',10);
  83.   delay:=GetNumber('Delay Between Frames(seconds)?',60);
  84.   for n:=1 to nFrames do begin
  85.     StopCapturing;
  86.     MakeRoi(Left,Top,Width,Height);
  87.     SetPicName('Frame ',n);
  88.     SaveAs;
  89.     StartCapturing;
  90.     Wait(delay);
  91.     beep;
  92.   end;
  93.   StopCapturing;
  94. end;
  95.  
  96.  
  97. macro 'Camera and Light Source Test';
  98.   {Use to test cameras and light sources for temporal stability.}
  99. var
  100.   delay,nFrames:integer;
  101.   i:real;
  102. begin
  103.    nFrames:=trunc(GetNumber('Number of Frames:',10));
  104.    delay:=trunc(GetNumber('Delay in seconds:',10));
  105.    for I:=1 to nFrames do begin
  106.      Capture;
  107.      Measure;
  108.      wait(delay);
  109.   end;
  110. end;
  111.  
  112.  
  113. macro 'Average Frames on Trigger';
  114. begin
  115.   WaitForTrigger;
  116.   {SetOption;} AverageFrames;
  117. end;
  118.  
  119.